package com.xxx.mall.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xxx.mall.model.AttachFile;
import com.xxx.mall.vo.AttachFileVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 上传文件记录表 Mapper 接口
 * </p>
 *
 * @author 邢晨旭
 * @since 2023-11-20
 */
public interface AttachFileMapper extends BaseMapper<AttachFile> {

    IPage<AttachFileVO> pageList(Page<AttachFileVO> page, @Param("fileName") String fileName, @Param("fileGroupId") Long fileGroupId, @Param("shopId") Long shopId);

    /**
     * 根据id修改文件名或者文件组id
     * @param fileId
     * @param fileName
     * @param attachFileGroupId
     */
    void updateNameOrGroupById(@Param("fileId") Long fileId,@Param("fileName") String fileName, @Param("fileGroupId") Long attachFileGroupId);

    /**
     * 根据id删除
     * @param id
     */
    void removeById(Long id);

    /**
     * 根据分组id批量修改
     * @param attachFileGroupId
     */
    void updateBatchByGroupId(Long attachFileGroupId);

    /**
     * 根据id批量删除
     * @param ids
     */
    void removeBatchByIds(@Param("ids") List<Long> ids);
}
